﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SIGEB.Modelo.moduloTipoDocumentos
{
    public class atributo
    {
        #region "constructores"

        public atributo()
        {
        }

        public atributo(string codAtributo, string idTipoDoc, string nombre, bool indizable, int tipo)
        {
            this.idTipoDoc = idTipoDoc;
            this.codAtributo = codAtributo;
            this.tipo = tipo;
            this.nombre = nombre;
            this.indizable = indizable;
        }

        #endregion

        #region "metodos"

        public bool valorValido(string val)
        {
            if (tipo == NUMERO)
            {
                try
                {
                    double.Parse(val);
                    return true;
                }
                catch { return false; }
            }
            else if(tipo==FECHA)
            {
                try
                {
                    DateTime.Parse(val);
                    return true;
                }
                catch { return false; }
            }
            if (indizable)
                return !string.IsNullOrEmpty(val);
            return true;
        }

        #endregion

        #region "atributos"

        string _codAtributo;
        int _tipo;
        String _nombre;
        bool _indizable;
        string _idTipoDoc;

        public string codAtributo
        {
            set { _codAtributo = value; }
            get { return _codAtributo; }
        }
        public string idTipoDoc
        {
            set { _idTipoDoc = value; }
            get { return _idTipoDoc; }
        }
        public int tipo
        {
            set { _tipo = value; }
            get { return _tipo; }
        }
        public String nombre
        {
            set { _nombre = value; }
            get { return _nombre; }
        }
        public bool indizable
        {
            set { _indizable = value; }
            get { return _indizable; }
        }

        public static int FECHA = 1;
        public static int NUMERO = 2;
        public static int ALFANUMERICO = 3;

        #endregion
    }
}
